草庐IT

XSLT 教程

全部标签

html - 将 HTML 转换为 HTML : use XSLT?

我有一个我无法控制的HTML表单,我想用页面上的另一个布局向客户显示内容(标签和输入文本/选择)(实际上,做一个“检查你的答案"页)。所以我非常需要将一个复杂的HTML表单转换成另一个HTML文档(或DOM节点树)。在我看来,它非常接近XSL转换的常用用例,只是输入不是XML。我只是想知道XLST是否是实现这一点的实际方法,或者我是否可以使用另一种技术(可能更适合非XML输入)? 最佳答案 不,你不能这样做,因为HTML不是XML(除非它是doctypexhtml)。让我用一个简单的例子来解释:Para1Para2这是一个有效的HT

xml - 使用 XSLT 文件时值为空

我目前在转换文件时遇到问题。谁能帮助我了解问题所在?我的源文件是:abcde我的XSLT文件是:输出文件是:我不明白为什么这个值是空的...提前谢谢你,马克西姆 最佳答案 您的输入XML有一个声明为xmlns="http://ns.adobe.com/xfdf/"的默认命名空间。这意味着所有没有前缀的元素都属于这个命名空间。因此,您还应该在XSLT中声明命名空间。最好有一个前缀,像这样:exclude-result-prefixes="xdf"不会将namespace输出到您的结果XSLT中。现在您已经声明了命名空间,您可以使用此前

xml - 搜索 XML (XPATH/XSLT) 根据 'rank' 返回路径

我想搜索XML并返回返回搜索的编号。例如;在以下列表中搜索“橙色”,我想找回6。appleappleappleappleappleorangeappleappleapple我正在尝试构建一个像这样的XPATH:/fruits/name[6]我需要根据输入计算位置编号。(/fruits/name[$position],其中$position将是该橙子在苹果中的计算值)。我想某种递归模板(从搜索命中向后走?)可能会做到这一点-但我正在努力解决这个问题;也许还有另一种方式? 最佳答案 这个样式表:将位置放在您可以使用的变量$positio

xml - XSLT 检查值是否包含在数组中

我有一个模板,它应该只匹配元素PRA如果它包含值为101、103或104。我的输入如下所示:101654999654运行良好的XSLT:这很好用,但值101、103和104将出现在更多模板中并且可以更改。是否可以将这些值添加到列表中,然后进行包含?这是我想使用的示例代码:101,102,104 最佳答案 在XSLT2.0中,您想要做的实际上相当简单,不需要包含或索引:这就足够了。 关于xml-XSLT检查值是否包含在数组中,我们在StackOverflow上找到一个类似的问题:

使用 XSLT 1 进行 XML 转换

今天我真的在为XSLT苦苦挣扎,我不得不使用它已经有很长时间了。我必须编辑一些xml,我不能使用XSLT2.0。所以我必须使用1.0.我正在努力的xml是(基本示例):我尝试为这两个节点制作一个模板,然后“调用”该模板以创建一个具有所需值的新节点,但这也没有用,如果有人能指出正确的方向,我会遗漏一些东西。274-80-9391StraightDean415834-29195420CollegeAv.OaklandCA946091XM:我得到的结果:274-80-9391StraightDean415834-29195420CollegeAv.OaklandCA946091我需要的是:2

xml - 声明为 DTD 的 DOCTYPE 如何影响 XSLT 转换?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion我正在使用XSLT1和2以及各种处理器转换TEI编码的文本文档(TEI-TextEncodingInitiative,一种文本文档编码标准)。我遇到了一个非常特殊的问题。根据我在XML文件的header中提供的DTD,我得到不同的结果。输入文件示例:PrzyjacielszczeryJanDanieckiwyd.MaciejEder以下xslt应该删除作者节点:但是,如果我用一个空的替换dtd(太长而无法

xml - XSLT:我可以创建一个本身就是模板的函数库吗?

我有几个XSLT转换。它们都包含相同的模板,看起来像这样(它的实现和功能无关紧要):ABSENT如您所见,我已经列出了此模板中要应用于模板匹配的字段。但实际上我想在我所有的转换中使用这个模板,但当然要使用不同的字段名称。换句话说,我想像使用函数一样使用它,我可以插入任何.xsl文件并指定参数列表,这些参数是要以这种方式修改的字段的名称。我可以用XSLT做吗? 最佳答案 更新,我可能误解了你的问题并再次查看了你的模板(请参阅下面的解决方案方向的更通用描述)。你写道:ABSENT和:IwanttouseitlikeafunctionIc

xml - 使用 Cdata 中的 XSLT 1.0 删除 xml 声明(<?xml 版本 ="1.0"编码 ="UTF-8"?>)

我从SharePoint应用程序中得到这样的响应输入<?xmlversion="1.0"encoding="UTF-8"?><CopyIntoItemsResponsexmlns="http://schemas.microsoft.com/sharepoint/soap/"><CopyIntoItemsResult>0</CopyIntoItemsResult><Results><CopyResultErrorCode="Success"DestinationUrl="http://archivelink.dev.test.com/"/></R

xml - 通过 XSLT 使用 CDATA 部分包围 XML 元素

我正在尝试添加包装一组元素。输入:respID2015-11-04CREATE12期望的输出:respID2015-11-04CREATE12]]>基本上当我有元素param的子元素时,我需要将子元素包装在CDATA中。 最佳答案 给定此输入XML:respID2015-11-04CREATE12此XSLT会将param子元素包装在CDATA中:<![CDATA[]]>并生成此输出XML:respID2015-11-04CREATE12]]> 关于xml-通过XSLT使用CD

XML 到 XSLT 模式不匹配

我正在使用XSLT来完成一项小任务。我有以下XML:MyProcess1MyMetadataIdFeedContentId我想从这个XML中提取FeedContentId作为文本。这是我的XSLT代码:但我没有输出FeedContentId,而是得到以下信息:MyProcess1MyMetadataIdFeedContentId你能指出我遗漏了什么吗? 最佳答案 您首先需要一个模板来匹配根元素,然后再匹配其中的内容。这个XSLT现在又可以工作了。(例如在http://www.w3schools.com/xsl/tryxslt.asp